The controller of a brushless motor typically comprises a processor for executing different software routines in response to different events. A common method of event handling is through the use of interrupts. In response to an interrupt, the processor interrupts execution of the main code and services the interrupt by executing an interrupt service routine (ISR). When executing an ISR, the processor is unable to service any other interrupts. Consequently, should two interrupts occur at the same time, the execution of one of the ISRs will be delayed. This delay may then adversely affect the performance of the motor. For example, the controller may employ a timer interrupt to control the time at which a phase winding of the motor is commutated. Any delay in servicing this interrupt is then likely to affect the power and/or efficiency of the motor.